一次awdplus经历(网鼎杯线下赛)

您所在的位置:网站首页 awd waf 一次awdplus经历(网鼎杯线下赛)

一次awdplus经历(网鼎杯线下赛)

2023-11-23 00:40| 来源: 网络整理| 查看: 265

开头

首先谈谈awdplus吧。个人觉得其实有点像今年的ciscn,其实就是ctf多了一个修题的环节。与awd差别还是挺大的,全程不会接触靶机,不需要ssh连,所以也不存在什么准备各种牛鬼蛇神的脚本,还是比较轻松的,每轮到了时间,拿到flag了,提交,平台会自动攻击未成功防御的选手

上图是其中一道题,攻击就只需要打自己的网站,比如你通过未过滤的命令执行点获得了flag,提交,即代表攻击成功。然后防御需要你写过滤后的源码,与update.sh一起打包成.tar.gz格式的文件,update.sh 里写mv -f 文件名 目标路径,上传到ftp后,在平台上点答题,填入压缩包文件名,平台会自动用exp打,如果exp打失败了,即为修补成功

小tricks:这里问了几个师傅,比如在今年一道目录穿越的题上,我是通过过滤..的方法修补成功,但也有师傅直接把小写的flag,改成大写的flag,exp同样打失败,判断为修补成功,所以exp打的方式可能比较单一苛刻,很多方法都可以起到防御的作用。

web_AliceWebsite

这题比较简单,拿到源码后直接丢到D盾里

可以看到直接爆出,找到对应文件路径,确定位置,源码如下:

可以看到这里用户传入的action并没有任何的过滤,直接可以目录穿越

payload: ?action=../../../../flag

防御:

这里通过新建一个黑名单,过滤..和../的方法防御成功

FAKA

(源码和复现buu上均有,我就懒得放源码了)

somd5大法好,比赛的时候太难了,找到了md5密码,解不出来,跑也跑不出来,气个半死

后台就是/admin,进入后台后,发现|备份管理|添加备份|下载处同样是目录穿越,吐槽一下,同一个知识点怎么还考两次

function downloadBak() { $file_name = $_GET['file']; $file_dir = $this->config['path']; if (!file_exists($file_dir . "/" . $file_name)) { //检查文件是否存在 return false; exit; } else { $file = fopen($file_dir . "/" . $file_name, "r"); // 打开文件 // 输入文件标签 header('Content-Encoding: none'); header("Content-type: application/octet-stream"); header("Accept-Ranges: bytes"); header("Accept-Length: " . filesize($file_dir . "/" . $file_name)); header('Content-Transfer-Encoding: binary'); header("Content-Disposition: attachment; filename=" . $file_name); //以真实文件名提供给浏览器下载 header('Pragma: no-cache'); header('Expires: 0'); //输出文件内容 echo fread($file, filesize($file_dir . "/" . $file_name)); fclose($file); exit; } }

防御的话一样做个黑名单,过滤一下即可

看了师傅们博客还有其他很多思路,这里就不赘述了

太菜了,没进总决赛,只有这两道题wp



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3